A call center is a place where calls from users, such as customers, are handled in support of an organization's activities. Organizations that provide a call center, such as companies that offer a service or a product, do so to provide assistance and information to customers of the service or product. A call center typically comprises an interactive voice response (IVR) system that enables a caller to obtain information without any human involvement, or to speak to a person known as a service agent. Typically an interactive voice response (IVR) system presents a hierarchy of menus to a caller, and enables the caller to input information to navigate the menus (e.g., entering alphanumeric information via a telephone keypad, selecting a menu option by saying the number associated with the option, etc.). An interactive voice response (IVR) system is advantageous economically because it enables a call center to accommodate callers with fewer service agents.
FIG. 1 depicts telecommunications system 100 in accordance with the prior art. Telecommunications system 100 comprises telecommunications terminal 102, telecommunications network 103, and call center 104, interconnected as shown.
User 101 uses telecommunications terminal 102 (e.g., a telephone, a browser-enabled client, etc.) to place a call to call center 104 via telecommunications network 103 (e.g., the Public Switched Telephone Network [PSTN], the Internet, etc.). Typically user 101 uses telecommunications terminal 102 to place a voice telephone call to call center 104. In some instances, however, user 101 might initiate a text-based instant messaging (IM) session, or might activate a “push-to-talk” button on a website that is associated with call center 104, etc.
FIG. 2 depicts the salient elements of call center 104, in accordance with the prior art. Call center 104 comprises data-processing system 205; interactive voice response system (IVR) 206; telecommunications terminals 207-1 through 207-N, where N is a positive integer; clients 209-1 through 209-N; and application server 210, interconnected as shown.
As shown in FIG. 2, each telecommunications terminal 207-n (e.g., a telephone, etc.), for n=1 through N, is associated with a respective service agent 208-n. Service agent converse with callers via telecommunications terminal 207, and interact with one or more software applications via client 209-n (e.g., a personal computer, a “dumb” terminal, etc.), both during a call and between calls. The software applications are client/server or web-based and are hosted on application server 210, in well-known fashion.
Private branch exchange (PBX) 205 receives incoming calls from telecommunications network 103 and directs the calls to interactive voice response (IVR) system 206 or to one of telecommunications terminals 207. Private branch exchange (PBX) 205 also receives outbound signals from telecommunications terminals 507 and interactive voice response system 506 and transmits the signals on to telecommunications network 103 for delivery to the caller's terminal.
Interactive voice response (IVR) system 206 prompts a caller for information and menu selections via synthesized speech, and receives input from the caller (e.g., speech signals, keypad input, etc.) via private branch exchange 205. Interactive voice response system 206 is also capable of: recording a caller's speech and keypad input during a call; performing automated speech recognition (ASR) on a caller's speech; submitting commands and forwarding caller input to one or more software applications that reside on application server 210; and receiving output from these software applications.
Application server 210 hosts one or more web-based or client/server software applications that perform tasks such as customer record maintenance, inventory management, order processing, etc. As described above, these software applications can be accessed by both clients 209 and interactive voice response (IVR) system 206.
The Extensible Markup Language, abbreviated XML, is a specification that enables the creation of customized tags, which in turn enables the definition, transmission, validation, and interpretation of data between two applications, organizations, etc. Voice Extensible Markup Language (abbreviated VoiceXML or VXML) is an application of the Extensible Markup Language (XML) that enables dialogs featuring synthesized speech, digitized audio, recognition of spoken and keyed input, recording of spoken input, and telephony. The primary objective of VXML is to bring the advantages of web-based development and content delivery to interactive voice response applications.
FIG. 3 depicts an exemplary Voice Extensible Markup Language (VXML) script (also known as a VXML document or page), in accordance with the illustrative embodiment of the present invention. The VXML script, when executed by interactive voice response system 206, prompts the caller for his or her social security number, and then his or her mother's maiden name for security purposes. The script then presents a menu with two options; the first option is for reviewing account balances, and the second option is for performing transactions. Audio content (in particular, synthesized speech) that corresponds to text between the <prompt> and </prompt> tags is generated by interactive voice response system 206 and transmitted to the caller.
In call centers that employ VXML scripts, typically application server 210 initially retrieves a “top-level” script at the beginning of a call, and subsequently, in response to menu selections and information supplied by the caller, application server 210 might retrieve one or more additional VXML scripts during the course of a call (e.g., a script for reviewing account balances, a script for processing transactions, etc.). Alternatively, a single large VXML script or application might be employed for the entire duration of a call.